package com.ych.modules.base.dbEntity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Author: Usopp.tsui
 * Date: 2021/3/8
 * Time: 11:28
 * Description:
 */
@Data
@TableName("t_user_job")
@ApiModel(value = "TUserJobEntity", description = "数据库-用户发布任务表")
public class TUserJobEntity extends AbstractPageEntity {

    @TableId(value = "job_id")
    @ApiModelProperty(value = "主键", dataType = "String", notes = "主键")
    private String jobId;

    @TableField(value = "user_id")
    @ApiModelProperty(value = "发布用户id", dataType = "String", notes = "发布用户id")
    private String userId;

    @TableField(value = "title")
    @ApiModelProperty(value = "任务标题", dataType = "String", notes = "任务标题")
    private String title;

    @TableField(value = "amount")
    @ApiModelProperty(value = "任务奖励金额（每份）", dataType = "BigDecimal", notes = "任务奖励金额（每份）")
    private BigDecimal amount;

    @TableField(value = "number")
    @ApiModelProperty(value = "任务名额", dataType = "Integer", notes = "任务名额")
    private Integer number;

    @TableField(value = "residue_number")
    @ApiModelProperty(value = "剩余任务名额", dataType = "Integer", notes = "剩余任务名额")
    private Integer residueNumber;

    @TableField(value = "apply_condition")
    @ApiModelProperty(value = "报名条件", dataType = "String", notes = "报名条件")
    private String applyCondition;

    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间", dataType = "Date", notes = "创建时间")
    private Date createTime;

    @TableField(value = "pay_amount")
    @ApiModelProperty(value = "支付金额（金币）", dataType = "BigDecimal", notes = "支付金额(金币)")
    private BigDecimal payAmount;

    @TableField(value = "recharge_status_type")
    @ApiModelProperty(value = "支付订单状态码值", dataType = "String", notes = "支付订单状态码值")
    private String rechargeStatusType;

    @TableField(value = "status")
    @ApiModelProperty(value = "状态，0：正常 1：删除", dataType = "String", notes = "状态，0：正常 1：删除")
    private String status;

    @TableField(exist = false)
    @ApiModelProperty(value = "任务步骤集合", dataType = "List<TJobStepEntity>", notes = "任务步骤集合")
    private List<TJobStepEntity> stepList;

    @TableField(exist = false)
    @ApiModelProperty(value = "用户名称", dataType = "String", notes = "用户名称")
    private String userName;

    @TableField(exist = false)
    @ApiModelProperty(value = "头像url地址", dataType = "String", notes = "头像url地址")
    private String userHeadUrl;

    @TableField(exist = false)
    @ApiModelProperty(value = "是否已关注", dataType = "String", notes = "是否已关注")
    private String isConcern;

    @TableField(exist = false)
    @ApiModelProperty(value = "是否已经报名参与", dataType = "String", notes = "是否已经报名参与")
    private String isReceive;

    @TableField(exist = false)
    @ApiModelProperty(value = "待审核任务数量", dataType = "Integer", notes = "待审核任务数量")
    private Integer toAuditCount;

    @TableField(exist = false)
    @ApiModelProperty(value = "任务领取详情实体", dataType = "TJobReceiveEntity", notes = "任务领取详情实体")
    private TJobReceiveEntity receiveEntity;
}
